数据结构实验报告8

您所在的位置:网站首页 数据结构 哈希表设计 数据结构实验报告8

数据结构实验报告8

2024-07-16 00:11| 来源: 网络整理| 查看: 265

实验内容及要求:

编写控制台应用程序,提供以下菜单项:

插入关键字删除关键字查找关键字结束程序

其中,“插入关键字”是指从键盘输入一个关键字,将关键字插入哈希表中,若插入的关键字已存储于哈希表中,则插入失败,显示提示信息;若插入关键字数目已超过哈希表设计容量,则插入失败,显示提示信息;其它情况则插入成功,显示提示信息。程序初始运行时,哈希表为空,通过插入多个关键字建立哈希表。

“删除关键字”是指从键盘输入一个关键字,若在哈希表中查找成功,则将关键字从哈希表中删除;若查找失败,显示提示信息。

“查找关键字”是指从键盘输入一个关键字,在哈希表中查找,显示查找成功与失败的提示信息。

已知哈希函数H(K)=K mod m,其中m为哈希表长度(程序中m应不小于10)。可选择用二次探测再散列或链地址法解决冲突。若选用二次探测再散列,装填因子设为0.8;若选用链地址法,要求哈希表允许的关键字最大数目为2m。

提示:选用二次探测再散列时,空闲元素位置应存入“哑元素”占位,以标识元素位置空闲。

实验目的:掌握哈希表的建立与查找。

参考博客:(4条消息) 西南交通大学数据结构第八次实验--哈希表的建立与查找_Jellyfish Knight的博客-CSDN博客 

#define _CRT_SECURE_NO_WARNINGS 1 #include using namespace std; struct Node { int data = -1; bool flag = false; Node* next = nullptr; }; class Menu { private: Node* hash_map; int max_length;//哈希表总长度 int cur_length;//哈希表当前长度 int HashFunction(int key) const; static void ShowMenu(); void Insert(); void Delete(); void Inquire(); public: Menu(int length); void Test(); ~Menu() { delete hash_map; } }; Menu::Menu(int length) { while (length < 10) { cout length; } max_length = length; hash_map = new Node[length]; cur_length = 0; } //哈希函数 int Menu::HashFunction(int key) const { return key % max_length; } //菜单展示 void Menu::ShowMenu() { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3